package com.example.flower_shop.service.usr;

import com.example.flower_shop.common.PageResult;
import com.example.flower_shop.entity.StoreOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.flower_shop.vo.order.*;
import jakarta.validation.Valid;

import java.util.List;

/**
* @author zbxComputer
* @description 针对表【sys_store_order(订单表)】的数据库操作Service
* @createDate 2024-11-21 12:49:00
*/
public interface StoreOrderService extends IService<StoreOrder> {

    void takeOrder(Long orderId);

    void cancelOrder(Long orderId);

    List<AdmOrderDetailResp> getOrderDetail(Long orderId);

    void orderRefund(OrderRefundReq req);

    PreOrderResp preOrderLoad(String preOrderNo);

    PreOrderResp preOrder(PreOrderReq req);

    CreateOrderResp createOrder(CreateOrderReq req);

    OrderPrepayResp prepayOrder(@Valid PrePayOrderReq req);

    PageResult<UsrOrderPageResp> orderList(@Valid UsrOrderPageReq req);

    boolean isVip(Long id);

    OrderPrepayResp payOrder(PreOrderReq req);
}
